Systems and methods for cryptographic authentication of contactless cards

ABSTRACT

Example embodiments of systems and methods for data transmission between a contactless card and a client device in support of a FIDO authentication are provided. In an embodiment, upon receipt of a challenge issued by a server in connection with a pending transaction, the contactless card may authorize the client device to utilize a FIDO private key to respond to the challenge. If the response to the challenge is successful, the FIDO authentication may proceed and the transaction may be completed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The subject application is a continuation of U.S. patent applicationSer. No. 17/101,483 filed Nov. 23, 2020, which is a continuation of U.S.patent application Ser. No. 16/590,429 filed Oct. 2, 2019, now U.S. Pat.No. 10,685,350, which is a continuation-in-part of U.S. patentapplication Ser. No. 16/205,119, filed on Nov. 29, 2018, now U.S. Pat.No. 10,581,611, which claims priority from U.S. Provisional ApplicationNo. 62/740,352, filed on Oct. 2, 2018, the disclosures of which areincorporated herein by reference in their entirety.

FIELD OF THE INVENTION

The present disclosure relates to cryptography, and more particularly,to systems and methods for the cryptographic authentication ofcontactless cards.

BACKGROUND

Data security and transaction integrity are of critical importance tobusinesses and consumers. This need continues to grow as electronictransactions constitute an increasingly large share of commercialactivity.

Email may be used as a tool to verify transactions, but email issusceptible to attack and vulnerable to hacking or other unauthorizedaccess. Short message service (SMS) messages may also be used, but thatis subject to compromise as well. Moreover, even data encryptionalgorithms, such as triple DES algorithms, have similar vulnerabilities.

Activating many cards, including for example financial cards (e.g.,credit cards and other payment cards), involves the time-consumingprocess of cardholders calling a telephone number or visiting a websiteand entering or otherwise providing card information. Further, while thegrowing use of chip-based financial cards provides more secure featuresover the previous technology (e.g., magnetic strip cards) for in-personpurchases, account access still may rely on log-in credentials (e.g.,username and password) to confirm a cardholder's identity. However, ifthe log-in credentials are compromised, another person could have accessto the user's account.

Despite concerns over security, the widespread use of log-in credentialspasswords to safeguard account access and critical informationcontinues. A potential solution to this problem is proposed by the FIDOAlliance in the form of the FIDO2 project to create a FIDOauthentication standard. The FIDO2 project incorporates W3C's WebAuthentication specification and the FIDO Client-Authentication Protocolto permit the use of common devices to authenticate online services andcontrol account access. The FIDO2 project provides for theauthentication of a device by initiating a cryptographic challenge thatis answered by an authenticator device using a private key. However,security issues remain, including difficulties in proving an authorizeduser is present at the outset of the device authentication process.

These and other deficiencies exist. Accordingly, there is a need toprovide users with an appropriate solution that overcomes thesedeficiencies to provide data security, authentication, and verificationfor contactless cards. Further, there is a need for both an improvedmethod of activating a card and an improved authentication for accountaccess.

SUMMARY

Aspects of the disclosed technology include systems and methods forcryptographic authentication of contactless cards. Various embodimentsdescribe systems and methods for implementing and managing cryptographicauthentication of contactless cards.

Embodiments of the present disclosure provide a client devicecomprising: a processor; a memory containing a FIDO public key, a FIDOprivate key, and account information; and a communication interface indata communication with a contactless card and a server, thecommunication interface having a communication field; wherein, uponreceipt of an instruction to initiate a transaction, the processor isconfigured to: transmit a transaction request to a first server, thetransaction request including account information and transactioninformation relating to the transaction; receive a challenge from asecond server; request a transaction verification from the contactlesscard; receive, via the communication interface, a transactionverification from the contactless card upon entry of the contactlesscard into the communication field, wherein the transaction verificationpermits use of the FIDO private key in connection with the challenge;sign the challenge using the private key; and transmit the signedchallenge to the second server.

Embodiments of the present disclosure provide a authorization methodcomprising: initiating, by a client application comprising instructionsfor execution on a client device, a transaction with a first server;transmitting, by the client application, transaction information to thefirst server; receiving, by the client application, a challenge sent bya second server; requesting, by the client application, a transactionverification; receiving, by the client application, a transactionverification, wherein the transaction verification authorizes the clientapplication to utilize a FIDO private key stored in a memory of theclient device to sign the challenge; signing, by the client application,the challenge using the FIDO private key; transmitting, by the clientapplication, the signed challenge to the server; and receiving, by theclient application, an indication from the server that the transactionhas been approved.

Embodiments of the present disclosure provide a contactless cardcomprising: a substrate, including: a memory containing an applet, acounter value, a master key, a diversified key, a FIDO public key, and aFIDO private key; a communication interface; and a processor incommunication with the memory and communication interface, the processorconfigured to: update the counter value when the communication interfaceis within a range of a communication field of a client device; create acryptogram using the diversified key and the counter value, wherein thecryptogram stores the FIDO public key; and transmit the cryptogram viathe communication interface.

Further features of the disclosed design, and the advantages offeredthereby, are explained in greater detail hereinafter with reference tospecific example embodiments illustrated in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a diagram of a data transmission system according to anexample embodiment.

FIG. 1B is a diagram illustrating a sequence for providing authenticatedaccess according to an example embodiment.

FIG. 2 is a diagram of a data transmission system according to anexample embodiment.

FIG. 3 is a diagram of a system using a contactless card according to anexample embodiment.

FIG. 4 is a flowchart illustrating a method of key diversificationaccording to an example embodiment.

FIG. 5A is an illustration of a contactless card according to an exampleembodiment.

FIG. 5B is an illustration of a contact pad of the contactless cardaccording to an example embodiment.

FIG. 6 is an illustration depicting a message to communicate with adevice according to an example embodiment.

FIG. 7 is an illustration depicting a message and a message formataccording to an example embodiment.

FIG. 8 is a flowchart illustrating key operations according to anexample embodiment.

FIG. 9 is a diagram of a key system according to an example embodiment.

FIG. 10 is a flowchart of a method of generating a cryptogram accordingto an example embodiment.

FIG. 11 is a flowchart illustrating a process of key diversificationaccording to an example embodiment.

FIG. 12 is a flowchart illustrating a method for card activationaccording to an example embodiment.

FIG. 13 shows a FIDO system using a data transmission system accordingto an example embodiment.

FIG. 14 shows a flowchart for processing an online payment according toan example embodiment.

FIG. 15 shows a user interface for a client device for processing anonline payment according to an example embodiment.

FIG. 16 shows a user interface for a client device for processing anonline payment according to an example embodiment.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The following description of embodiments provides non-limitingrepresentative examples referencing numerals to particularly describefeatures and teachings of different aspects of the invention. Theembodiments described should be recognized as capable of implementationseparately, or in combination, with other embodiments from thedescription of the embodiments. A person of ordinary skill in the artreviewing the description of embodiments should be able to learn andunderstand the different described aspects of the invention. Thedescription of embodiments should facilitate understanding of theinvention to such an extent that other implementations, not specificallycovered but within the knowledge of a person of skill in the art havingread the description of embodiments, would be understood to beconsistent with an application of the invention.

An objective of some embodiments of the present disclosure is to buildone or more keys into one or more contactless cards. In theseembodiments, the contactless card can perform authentication andnumerous other functions that may otherwise require the user to carry aseparate physical token in addition to the contactless card. Byemploying a contactless interface, contactless cards may be providedwith a method to interact and communicate between a user's device (suchas a mobile phone) and the card itself. For example, the EMV protocol,which underlies many credit card transactions, includes anauthentication process which suffices for operating systems for Android®but presents challenges for iOS®, which is more restrictive regardingnear field communication (NFC) usage, as it can be used only in aread-only manner. Exemplary embodiments of the contactless cardsdescribed herein utilize NFC technology.

FIG. 1A illustrates a data transmission system according to an exampleembodiment. As further discussed below, system 100 may includecontactless card 105, client device 110, network 115, and server 120.Although FIG. 1A illustrates single instances of the components, system100 may include any number of components.

System 100 may include one or more contactless cards 105, which arefurther explained below with reference to FIGS. 5A-5B. In someembodiments, contactless card 105 may be in wireless communication,utilizing NFC in an example, with client device 110.

System 100 may include client device 110, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a phone, a handheld PC, a personal digital assistant, athin client, a fat client, an Internet browser, or other device. Clientdevice 110 also may be a mobile device; for example, a mobile device mayinclude an iPhone, iPod, iPad from Apple® or any other mobile devicerunning Apple's iOS® operating system, any device running Microsoft'sWindows® Mobile operating system, any device running Google's Android®operating system, and/or any other smartphone, tablet, or like wearablemobile device.

The client device 110 device can include a processor and a memory, andit is understood that the processing circuitry may contain additionalcomponents, including processors, memories, error and parity/CRCcheckers, data encoders, anticollision algorithms, controllers, commanddecoders, security primitives and tamperproofing hardware, as necessaryto perform the functions described herein. The client device 110 mayfurther include a display and input devices. The display may be any typeof device for presenting visual information such as a computer monitor,a flat panel display, and a mobile device screen, including liquidcrystal displays, light-emitting diode displays, plasma panels, andcathode ray tube displays. The input devices may include any device forentering information into the user's device that is available andsupported by the user's device, such as a touch-screen, keyboard, mouse,cursor-control device, touch-screen, microphone, digital camera, videorecorder or camcorder. These devices may be used to enter informationand interact with the software and other devices described herein.

In some examples, client device 110 of system 100 may execute one ormore applications, such as software applications, that enable, forexample, network communications with one or more components of system100 and transmit and/or receive data.

Client device 110 may be in communication with one or more servers 120via one or more networks 115, and may operate as a respective front-endto back-end pair with server 120. Client device 110 may transmit, forexample from a mobile device application executing on client device 110,one or more requests to server 120. The one or more requests may beassociated with retrieving data from server 120. Server 120 may receivethe one or more requests from client device 110. Based on the one ormore requests from client device 110, server 120 may be configured toretrieve the requested data from one or more databases (not shown).Based on receipt of the requested data from the one or more databases,server 120 may be configured to transmit the received data to clientdevice 110, the received data being responsive to one or more requests.

System 100 may include one or more networks 115. In some examples,network 115 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 110 to server 120. For example,network 115 may include one or more of a fiber optics network, a passiveoptical network, a cable network, an Internet network, a satellitenetwork, a wireless local area network (LAN), a Global System for MobileCommunication, a Personal Communication Service, a Personal AreaNetwork, Wireless Application Protocol, Multimedia Messaging Service,Enhanced Messaging Service, Short Message Service, Time DivisionMultiplexing based systems, Code Division Multiple Access based systems,D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and802.11g, Bluetooth, NFC, Radio Frequency Identification (RFID), Wi-Fi,and/or the like.

In addition, network 115 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 115 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 115 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 115 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 115 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 115 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 115 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

System 100 may include one or more servers 120. In some examples, server120 may include one or more processors, which are coupled to memory.Server 120 may be configured as a central system, server or platform tocontrol and call various data at different times to execute a pluralityof workflow actions. Server 120 may be configured to connect to the oneor more databases. Server 120 may be connected to at least one clientdevice 110.

FIG. 1B is a timing diagram illustrating an example sequence forproviding authenticated access according to one or more embodiments ofthe present disclosure. System 100 may comprise contactless card 105 andclient device 110, which may include an application 122 and processor124. FIG. 1B may reference similar components as illustrated in FIG. 1A.

At step 102, the application 122 communicates with the contactless card105 (e.g., after being brought near the contactless card 105).Communication between the application 122 and the contactless card 105may involve the contactless card 105 being sufficiently close to a cardreader (not shown) of the client device 110 to enable NFC data transferbetween the application 122 and the contactless card 105.

At step 104, after communication has been established between clientdevice 110 and contactless card 105, the contactless card 105 generatesa message authentication code (MAC) cryptogram. In some examples, thismay occur when the contactless card 105 is read by the application 122.In particular, this may occur upon a read, such as an NFC read, of anear field data exchange (NDEF) tag, which may be created in accordancewith the NFC Data Exchange Format. For example, a reader, such asapplication 122, may transmit a message, such as an applet selectmessage, with the applet ID of an NDEF producing applet. Uponconfirmation of the selection, a sequence of select file messagesfollowed by read file messages may be transmitted. For example, thesequence may include “Select Capabilities file”, “Read Capabilitiesfile”, and “Select NDEF file”. At this point, a counter value maintainedby the contactless card 105 may be updated or incremented, which may befollowed by “Read NDEF file.” At this point, the message may begenerated which may include a header and a shared secret. Session keysmay then be generated. The MAC cryptogram may be created from themessage, which may include the header and the shared secret. The MACcryptogram may then be concatenated with one or more blocks of randomdata, and the MAC cryptogram and a random number (RND) may be encryptedwith the session key. Thereafter, the cryptogram and the header may beconcatenated, and encoded as ASCII hex and returned in NDEF messageformat (responsive to the “Read NDEF file” message).

In some examples, the MAC cryptogram may be transmitted as an NDEF tag,and in other examples the MAC cryptogram may be included with a uniformresource indicator (e.g., as a formatted string).

In some examples, application 122 may be configured to transmit arequest to contactless card 105, the request comprising an instructionto generate a MAC cryptogram.

At step 106, the contactless card 105 sends the MAC cryptogram to theapplication 122. In some examples, the transmission of the MACcryptogram occurs via NFC, however, the present disclosure is notlimited thereto. In other examples, this communication may occur viaBluetooth, Wi-Fi, or other means of wireless data communication.

At step 108, the application 122 communicates the MAC cryptogram to theprocessor 124.

At step 112, the processor 124 verifies the MAC cryptogram pursuant toan instruction from the application 122. For example, the MAC cryptogrammay be verified, as explained below.

In some examples, verifying the MAC cryptogram may be performed by adevice other than client device 110, such as a server 120 in datacommunication with the client device 110 (as shown in FIG. 1A). Forexample, processor 124 may output the MAC cryptogram for transmission toserver 120, which may verify the MAC cryptogram.

In some examples, the MAC cryptogram may function as a digital signaturefor purposes of verification. Other digital signature algorithms, suchas public key asymmetric algorithms, e.g., the Digital SignatureAlgorithm and the RSA algorithm, or zero knowledge protocols, may beused to perform this verification.

FIG. 2 illustrates a data transmission system according to an exampleembodiment. System 200 may include a transmitting or sending device 205,a receiving or recipient device 210 in communication, for example vianetwork 215, with one or more servers 220. Transmitting or sendingdevice 205 may be the same as, or similar to, client device 110discussed above with reference to FIG. 1A. Receiving or recipient device210 may be the same as, or similar to, client device 110 discussed abovewith reference to FIG. 1A. Network 215 may be similar to network 115discussed above with reference to FIG. 1A. Server 220 may be similar toserver 120 discussed above with reference to FIG. 1A. Although FIG. 2shows single instances of components of system 200, system 200 mayinclude any number of the illustrated components.

When using symmetric cryptographic algorithms, such as encryptionalgorithms, hash-based message authentication code (HMAC) algorithms,and cipher-based message authentication code (CMAC) algorithms, it isimportant that the key remain secret between the party that originallyprocesses the data that is protected using a symmetric algorithm and thekey, and the party who receives and processes the data using the samecryptographic algorithm and the same key.

It is also important that the same key is not used too many times. If akey is used or reused too frequently, that key may be compromised. Eachtime the key is used, it provides an attacker an additional sample ofdata which was processed by the cryptographic algorithm using the samekey. The more data which the attacker has which was processed with thesame key, the greater the likelihood that the attacker may discover thevalue of the key. A key used frequently may be comprised in a variety ofdifferent attacks.

Moreover, each time a symmetric cryptographic algorithm is executed, itmay reveal information, such as side-channel data, about the key usedduring the symmetric cryptographic operation. Side-channel data mayinclude minute power fluctuations which occur as the cryptographicalgorithm executes while using the key. Sufficient measurements may betaken of the side-channel data to reveal enough information about thekey to allow it to be recovered by the attacker. Using the same key forexchanging data would repeatedly reveal data processed by the same key.

However, by limiting the number of times a particular key will be used,the amount of side-channel data which the attacker is able to gather islimited and thereby reduce exposure to this and other types of attack.As further described herein, the parties involved in the exchange ofcryptographic information (e.g., sender and recipient) can independentlygenerate keys from an initial shared master symmetric key in combinationwith a counter value, and thereby periodically replace the sharedsymmetric key being used with needing to resort to any form of keyexchange to keep the parties in sync. By periodically changing theshared secret symmetric key used by the sender and the recipient, theattacks described above are rendered impossible.

Referring back to FIG. 2, system 200 may be configured to implement keydiversification. For example, a sender and recipient may desire toexchange data (e.g., original sensitive data) via respective devices 205and 210. As explained above, although single instances of transmittingdevice 205 and receiving device 210 may be included, it is understoodthat one or more transmitting devices 205 and one or more receivingdevices 210 may be involved so long as each party shares the same sharedsecret symmetric key. In some examples, the transmitting device 205 andreceiving device 210 may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice 205 and similarly any party holding the same secret symmetric keymay perform the functions of the receiving device 210. In some examples,the symmetric key may comprise the shared secret symmetric key which iskept secret from all parties other than the transmitting device 205 andthe receiving device 210 involved in exchanging the secure data. It isfurther understood that both the transmitting device 205 and receivingdevice 210 may be provided with the same master symmetric key, andfurther that part of the data exchanged between the transmitting device205 and receiving device 210 comprises at least a portion of data whichmay be referred to as the counter value. The counter value may comprisea number that changes each time data is exchanged between thetransmitting device 205 and the receiving device 210.

System 200 may include one or more networks 215. In some examples,network 215 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect one or more transmitting devices 205 and one ormore receiving devices 210 to server 220. For example, network 215 mayinclude one or more of a fiber optics network, a passive opticalnetwork, a cable network, an Internet network, a satellite network, awireless LAN, a Global System for Mobile Communication, a PersonalCommunication Service, a Personal Area Network, Wireless ApplicationProtocol, Multimedia Messaging Service, Enhanced Messaging Service,Short Message Service, Time Division Multiplexing based systems, CodeDivision Multiple Access based systems, D-AMPS, Wi-Fi, Fixed WirelessData, IEEE 802.11b, 802.15.1, 802.11n and 802.11g, Bluetooth, NFC, RFID,Wi-Fi, and/or the like.

In addition, network 215 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a LAN, or a global network such as theInternet. In addition, network 215 may support an Internet network, awireless communication network, a cellular network, or the like, or anycombination thereof. Network 215 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 215 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 215 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 215 is depicted as a single network, it should be appreciatedthat according to one or more examples, network 215 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider's network, a cable television network,corporate networks, such as credit card association networks, and homenetworks.

In some examples, one or more transmitting devices 205 and one or morereceiving devices 210 may be configured to communicate and transmit andreceive data between each other without passing through network 215. Forexample, communication between the one or more transmitting devices 205and the one or more receiving devices 210 may occur via at least one ofNFC, Bluetooth, RFID, Wi-Fi, and/or the like.

At block 225, when the transmitting device 205 is preparing to processthe sensitive data with symmetric cryptographic operation, the sendermay update a counter. In addition, the transmitting device 205 mayselect an appropriate symmetric cryptographic algorithm, which mayinclude at least one of a symmetric encryption algorithm, HMACalgorithm, and a CMAC algorithm. In some examples, the symmetricalgorithm used to process the diversification value may comprise anysymmetric cryptographic algorithm used as needed to generate the desiredlength diversified symmetric key. Non-limiting examples of the symmetricalgorithm may include a symmetric encryption algorithm such as 3DES orAES128; a symmetric HMAC algorithm, such as HMAC-SHA-256; and asymmetric CMAC algorithm such as AES-CMAC. It is understood that if theoutput of the selected symmetric algorithm does not generate asufficiently long key, techniques such as processing multiple iterationsof the symmetric algorithm with different input data and the same masterkey may produce multiple outputs which may be combined as needed toproduce sufficient length keys.

At block 230, the transmitting device 205 may take the selectedcryptographic algorithm, and using the master symmetric key, process thecounter value. For example, the sender may select a symmetric encryptionalgorithm, and use a counter which updates with every conversationbetween the transmitting device 205 and the receiving device 210. Thetransmitting device 205 may then encrypt the counter value with theselected symmetric encryption algorithm using the master symmetric key,creating a diversified symmetric key.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice 205 and the receiving device 210 at block 230 without encryption.

At block 235, the diversified symmetric key may be used to process thesensitive data before transmitting the result to the receiving device210. For example, the transmitting device 205 may encrypt the sensitivedata using a symmetric encryption algorithm using the diversifiedsymmetric key, with the output comprising the protected encrypted data.The transmitting device 205 may then transmit the protected encrypteddata, along with the counter value, to the receiving device 210 forprocessing.

At block 240, the receiving device 210 may first take the counter valueand then perform the same symmetric encryption using the counter valueas input to the encryption, and the master symmetric key as the key forthe encryption. The output of the encryption may be the same diversifiedsymmetric key value that was created by the sender.

At block 245, the receiving device 210 may then take the protectedencrypted data and using a symmetric decryption algorithm along with thediversified symmetric key, decrypt the protected encrypted data.

At block 250, as a result of the decrypting the protected encrypteddata, the original sensitive data may be revealed.

The next time sensitive data needs to be sent from the sender to therecipient via respective transmitting device 205 and receiving device210, a different counter value may be selected producing a differentdiversified symmetric key. By processing the counter value with themaster symmetric key and same symmetric cryptographic algorithm, boththe transmitting device 205 and receiving device 210 may independentlyproduce the same diversified symmetric key. This diversified symmetrickey, not the master symmetric key, is used to protect the sensitivedata.

As explained above, both the transmitting device 205 and receivingdevice 210 each initially possess the shared master symmetric key. Theshared master symmetric key is not used to encrypt the originalsensitive data. Because the diversified symmetric key is independentlycreated by both the transmitting device 205 and receiving device 210, itis never transmitted between the two parties. Thus, an attacker cannotintercept the diversified symmetric key and the attacker never sees anydata which was processed with the master symmetric key. Only the countervalue is processed with the master symmetric key, not the sensitivedata. As a result, reduced side-channel data about the master symmetrickey is revealed. Moreover, the operation of the transmitting device 205and the receiving device 210 may be governed by symmetric requirementsfor how often to create a new diversification value, and therefore a newdiversified symmetric key. In an embodiment, a new diversification valueand therefore a new diversified symmetric key may be created for everyexchange between the transmitting device 205 and receiving device 210.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device 205 to thereceiving device 210; the full value of a counter value sent from thetransmitting device 205 and the receiving device 210; a portion of acounter value sent from the transmitting device 205 and the receivingdevice 210; a counter independently maintained by the transmittingdevice 205 and the receiving device 210 but not sent between the twodevices; a one-time-passcode exchanged between the transmitting device205 and the receiving device 210; and a cryptographic hash of thesensitive data. In some examples, one or more portions of the keydiversification value may be used by the parties to create multiplediversified keys. For example, a counter may be used as the keydiversification value. Further, a combination of one or more of theexemplary key diversification values described above may be used.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystems and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice 205 and the receiving device 210. In effect, this may create aone-time use key, such as a single-use session key.

FIG. 3 illustrates a system 300 using a contactless card. System 300 mayinclude a contactless card 305, one or more client devices 310, network315, servers 320, 325, one or more hardware security modules 330, and adatabase 335. Although FIG. 3 illustrates single instances of thecomponents, system 300 may include any number of components.

System 300 may include one or more contactless cards 305, which arefurther explained below with respect to FIGS. 5A-5B. In some examples,contactless card 305 may be in wireless communication, for example NFCcommunication, with client device 310. For example, contactless card 305may comprise one or more chips, such as a radio frequency identificationchip, configured to communication via NFC or other short-rangeprotocols. In other embodiments, contactless card 305 may communicatewith client device 310 through other means including, but not limitedto, Bluetooth, satellite, Wi-Fi, wired communications, and/or anycombination of wireless and wired connections. According to someembodiments, contactless card 305 may be configured to communicate withcard reader 313 of client device 310 through NFC when contactless card305 is within range of card reader 313. In other examples,communications with contactless card 305 may be accomplished through aphysical interface, e.g., a universal serial bus interface or a cardswipe interface.

System 300 may include client device 310, which may be a network-enabledcomputer. As referred to herein, a network-enabled computer may include,but is not limited to: e.g., a computer device, or communications deviceincluding, e.g., a server, a network appliance, a personal computer, aworkstation, a mobile device, a phone, a handheld PC, a personal digitalassistant, a thin client, a fat client, an Internet browser, or otherdevice. One or more client devices 310 also may be a mobile device; forexample, a mobile device may include an iPhone, iPod, iPad from Apple®or any other mobile device running Apple's iOS® operating system, anydevice running Microsoft's Windows® Mobile operating system, any devicerunning Google's Android® operating system, and/or any other smartphoneor like wearable mobile device. In some examples, the client device 310may be the same as, or similar to, a client device 110 as described withreference to FIG. 1A or FIG. 1B.

Client device 310 may be in communication with one or more servers 320and 325 via one or more networks 315. Client device 310 may transmit,for example from an application 311 executing on client device 310, oneor more requests to one or more servers 320 and 325. The one or morerequests may be associated with retrieving data from one or more servers320 and 325. Servers 320 and 325 may receive the one or more requestsfrom client device 310. Based on the one or more requests from clientdevice 310, one or more servers 320 and 325 may be configured toretrieve the requested data from one or more databases 335. Based onreceipt of the requested data from the one or more databases 335, one ormore servers 320 and 325 may be configured to transmit the received datato client device 310, the received data being responsive to one or morerequests.

System 300 may include one or more hardware security modules (HSM) 330.For example, one or more HSMs 330 may be configured to perform one ormore cryptographic operations as disclosed herein. In some examples, oneor more HSMs 330 may be configured as special purpose security devicesthat are configured to perform the one or more cryptographic operations.The HSMs 330 may be configured such that keys are never revealed outsidethe HSM 330, and instead are maintained within the HSM 330. For example,one or more HSMs 330 may be configured to perform at least one of keyderivations, decryption, and MAC operations. The one or more HSMs 330may be contained within, or may be in data communication with, servers320 and 325.

System 300 may include one or more networks 315. In some examples,network 315 may be one or more of a wireless network, a wired network orany combination of wireless network and wired network, and may beconfigured to connect client device 315 to server 320 and 325. Forexample, network 315 may include one or more of a fiber optics network,a passive optical network, a cable network, a cellular network, anInternet network, a satellite network, a wireless LAN, a Global Systemfor Mobile Communication, a Personal Communication Service, a PersonalArea Network, Wireless Application Protocol, Multimedia MessagingService, Enhanced Messaging Service, Short Message Service, TimeDivision Multiplexing based systems, Code Division Multiple Access basedsystems, D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1,802.11n and 802.11g, Bluetooth, NFC, RFID, Wi-Fi, and/or any combinationof networks thereof. As a non-limiting example, communications fromcontactless card 305 and client device 310 may comprise NFCcommunication, cellular network between client device 310 and a carrier,and Internet between the carrier and a back-end.

In addition, network 315 may include, without limitation, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network, awireless personal area network, a local area network, or a globalnetwork such as the Internet. In addition, network 315 may support anInternet network, a wireless communication network, a cellular network,or the like, or any combination thereof. Network 315 may further includeone network, or any number of the exemplary types of networks mentionedabove, operating as a stand-alone network or in cooperation with eachother. Network 315 may utilize one or more protocols of one or morenetwork elements to which they are communicatively coupled. Network 315may translate to or from other protocols to one or more protocols ofnetwork devices. Although network 315 is depicted as a single network,it should be appreciated that according to one or more examples, network315 may comprise a plurality of interconnected networks, such as, forexample, the Internet, a service provider's network, a cable televisionnetwork, corporate networks, such as credit card association networks,and home networks.

In various examples according to the present disclosure, client device310 of system 300 may execute one or more applications 311, and includeone or more processors 312, and one or more card readers 313. Forexample, one or more applications 311, such as software applications,may be configured to enable, for example, network communications withone or more components of system 300 and transmit and/or receive data.It is understood that although only single instances of the componentsof client device 310 are illustrated in FIG. 3, any number of devices310 may be used. Card reader 313 may be configured to read from and/orcommunicate with contactless card 305. In conjunction with the one ormore applications 311, card reader 313 may communicate with contactlesscard 305.

The application 311 of any of client device 310 may communicate with thecontactless card 305 using short-range wireless communication (e.g.,NFC). The application 311 may be configured to interface with a cardreader 313 of client device 310 configured to communicate with acontactless card 305. As should be noted, those skilled in the art wouldunderstand that a distance of less than twenty centimeters is consistentwith NFC range.

In some embodiments, the application 311 communicates through anassociated reader (e.g., card reader 313) with the contactless card 305.

In some embodiments, card activation may occur without userauthentication. For example, a contactless card 305 may communicate withthe application 311 through the card reader 313 of the client device 310through NFC. The communication (e.g., a tap of the card proximate thecard reader 313 of the client device 310) allows the application 311 toread the data associated with the card and perform an activation. Insome cases, the tap may activate or launch application 311 and theninitiate one or more actions or communications with an account server325 to activate the card for subsequent use. In some cases, if theapplication 311 is not installed on client device 310, a tap of the cardagainst the card reader 313 may initiate a download of the application311 (e.g., navigation to an application download page). Subsequent toinstallation, a tap of the card may activate or launch the application311, and then initiate (e.g., via the application or other back-endcommunication) activation of the card. After activation, the card may beused in various transactions including commercial transactions.

According to some embodiments, the contactless card 305 may include avirtual payment card. In those embodiments, the application 311 mayretrieve information associated with the contactless card 305 byaccessing a digital wallet implemented on the client device 310, whereinthe digital wallet includes the virtual payment card. In some examples,virtual payment card data may include one or more static or dynamicallygenerated virtual card numbers.

Server 320 may comprise a web server in communication with database 335.Server 325 may comprise an account server. In some examples, server 320may be configured to validate one or more credentials from contactlesscard 305 and/or client device 310 by comparison with one or morecredentials in database 335. Server 325 may be configured to authorizeone or more requests, such as payment and transaction, from contactlesscard 305 and/or client device 310.

FIG. 4 illustrates a method 400 of key diversification according to anexample of the present disclosure. Method 400 may include a transmittingdevice and receiving device similar to transmitting device 205 andreceiving device 210 referenced in FIG. 2.

For example, a sender and recipient may desire to exchange data (e.g.,original sensitive data) via a transmitting device and a receivingdevice. As explained above, although these two parties may be included,it is understood that one or more transmitting devices and one or morereceiving devices may be involved so long as each party shares the sameshared secret symmetric key. In some examples, the transmitting deviceand receiving device may be provisioned with the same master symmetrickey. Further, it is understood that any party or device holding the samesecret symmetric key may perform the functions of the transmittingdevice and similarly any party holding the same secret symmetric key mayperform the functions of the receiving device. In some examples, thesymmetric key may comprise the shared secret symmetric key which is keptsecret from all parties other than the transmitting device and thereceiving device involved in exchanging the secure data. It is furtherunderstood that both the transmitting device and receiving device may beprovided with the same master symmetric key, and further that part ofthe data exchanged between the transmitting device and receiving devicecomprises at least a portion of data which may be referred to as thecounter value. The counter value may comprise a number that changes eachtime data is exchanged between the transmitting device and the receivingdevice.

At block 410, a transmitting device and receiving device may beprovisioned with the same master key, such as the same master symmetrickey. When the transmitting device is preparing to process the sensitivedata with symmetric cryptographic operation, the sender may update acounter. In addition, the transmitting device may select an appropriatesymmetric cryptographic algorithm, which may include at least one of asymmetric encryption algorithm, HMAC algorithm, and a CMAC algorithm. Insome examples, the symmetric algorithm used to process thediversification value may comprise any symmetric cryptographic algorithmused as needed to generate the desired length diversified symmetric key.Non-limiting examples of the symmetric algorithm may include a symmetricencryption algorithm such as 3DES or AES128; a symmetric HMAC algorithm,such as HMAC-SHA-256; and a symmetric CMAC algorithm, such as AES-CMAC.It is understood that if the output of the selected symmetric algorithmdoes not generate a sufficiently long key, techniques such as processingmultiple iterations of the symmetric algorithm with different input dataand the same master key may produce multiple outputs which may becombined as needed to produce sufficient length keys.

The transmitting device may take the selected cryptographic algorithm,and using the master symmetric key, process the counter value. Forexample, the sender may select a symmetric encryption algorithm, and usea counter which updates with every conversation between the transmittingdevice and the receiving device.

At block 420, the transmitting device may then encrypt the counter valuewith the selected symmetric encryption algorithm using the mastersymmetric key, creating a diversified symmetric key. The diversifiedsymmetric key may be used to process the sensitive data beforetransmitting the result to the receiving device. For example, thetransmitting device may encrypt the sensitive data using a symmetricencryption algorithm using the diversified symmetric key, with theoutput comprising the protected encrypted data. The transmitting devicemay then transmit the protected encrypted data, along with the countervalue, to the receiving device for processing. In some examples, acryptographic operation other than encryption may be performed, and aplurality of cryptographic operations may be performed using thediversified symmetric keys prior to transmittal of the protected data.

In some examples, the counter value may not be encrypted. In theseexamples, the counter value may be transmitted between the transmittingdevice and the receiving device at block 420 without encryption.

At block 430, sensitive data may be protected using one or morecryptographic algorithms and the diversified keys. The diversifiedsession keys, which may be created by the key diversification which usesthe counter, may be used with one or more cryptographic algorithms toprotect the sensitive data. For example, data may be processed by a MACusing a first diversified session key, and the resulting output may beencrypted using the second diversified session key producing theprotected data.

At block 440, the receiving device may perform the same symmetricencryptions using the counter value as input to the encryptions and themaster symmetric keys as the keys for the encryption. The output of theencryptions may be the same diversified symmetric key values that werecreated by the sender. For example, the receiving device mayindependently create its own copies of the first and second diversifiedsession keys using the counter. Then, the receiving device may decryptthe protected data using the second diversified session key to revealthe output of the MAC created by the transmitting device. The receivingdevice may then process the resultant data through the MAC operationusing the first diversified session key.

At block 450, the receiving device may use the diversified keys with oneor more cryptographic algorithms to validate the protected data.

At block 460, the original data may be validated. If the output of theMAC operation (via the receiving device using the first diversifiedsession key) matches the MAC output revealed by decryption, then thedata may be deemed valid.

The next time sensitive data needs to be sent from the transmittingdevice to the receiving device, a different counter value may beselected, which produces a different diversified symmetric key. Byprocessing the counter value with the master symmetric key and samesymmetric cryptographic algorithm, both the transmitting device andreceiving device may independently produce the same diversifiedsymmetric key. This diversified symmetric key, not the master symmetrickey, is used to protect the sensitive data.

As explained above, both the transmitting device and receiving deviceeach initially possess the shared master symmetric key. The sharedmaster symmetric key is not used to encrypt the original sensitive data.Because the diversified symmetric key is independently created by boththe transmitting device and receiving device, it is never transmittedbetween the two parties. Thus, an attacker cannot intercept thediversified symmetric key and the attacker never sees any data which wasprocessed with the master symmetric key. Only the small counter value isprocessed with the master symmetric key, not the sensitive data. As aresult, reduced side-channel data about the master symmetric key isrevealed. Moreover, the sender and the recipient may agree, for exampleby prior arrangement or other means, how often to create a newdiversification value, and therefore a new diversified symmetric key. Inan embodiment, a new diversification value and therefore a newdiversified symmetric key may be created for every exchange between thetransmitting device and receiving device.

In some examples, the key diversification value may comprise the countervalue. Other non-limiting examples of the key diversification valueinclude: a random nonce generated each time a new diversified key isneeded, the random nonce sent from the transmitting device to thereceiving device; the full value of a counter value sent from thetransmitting device and the receiving device; a portion of a countervalue sent from the transmitting device and the receiving device; acounter independently maintained by the transmitting device and thereceiving device but not sent between the two; a one-time-passcodeexchanged between the transmitting device and the receiving device;cryptographic hash of the sensitive data. In some examples, one or moreportions of the key diversification value may be used by the parties tocreate multiple diversified keys. For example, a counter may be used asthe key diversification value.

In another example, a portion of the counter may be used as the keydiversification value. If multiple master key values are shared betweenthe parties, the multiple diversified key values may be obtained by thesystem and processes described herein. A new diversification value, andtherefore a new diversified symmetric key, may be created as often asneeded. In the most secure case, a new diversification value may becreated for each exchange of sensitive data between the transmittingdevice and the receiving device. In effect, this may create a one-timeuse key, such as a single session key.

In other examples, such as to limit the number of times of use of themaster symmetric key, it may be agreed upon by the sender oftransmitting device and recipient of the receiving device that a newdiversification value, and therefore a new diversified symmetric key,will happen only periodically. In one example, this may be after apre-determined number of uses, such as every 10 transmissions betweenthe transmitting device and the receiving device. In another example,this may be after a certain time period, a certain time period after atransmission, or on a periodic basis (e.g., daily at a designated time;weekly at a designated time on a designated day). In another example,this may be every time the receiving device signals to the transmittingdevice that it desires to change the key on the next communication. Thismay be controlled on policy and may be varied due to, for example, thecurrent risk level perceived by the recipient of the receiving device.

FIG. 5A illustrates one or more contactless cards 500, which maycomprise a payment card, such as a credit card, debit card, or giftcard, issued by a service provider 505 displayed on the front or back ofthe card 500. In some examples, the contactless card 500 is not relatedto a payment card, and may comprise, without limitation, anidentification card. In some examples, the payment card may comprise adual interface contactless payment card. The contactless card 500 maycomprise a substrate 510, which may include a single layer or one ormore laminated layers composed of plastics, metals, and other materials.Exemplary substrate materials include polyvinyl chloride, polyvinylchloride acetate, acrylonitrile butadiene styrene, polycarbonate,polyesters, anodized titanium, palladium, gold, carbon, paper, andbiodegradable materials. In some examples, the contactless card 500 mayhave physical characteristics compliant with the ID-1 format of theISO/IEC 7810 standard, and the contactless card may otherwise becompliant with the ISO/IEC 14443 standard. However, it is understoodthat the contactless card 500 according to the present disclosure mayhave different characteristics, and the present disclosure does notrequire a contactless card to be implemented in a payment card.

The contactless card 500 may also include identification information 515displayed on the front and/or back of the card, and a contact pad 520.The contact pad 520 may be configured to establish contact with anothercommunication device, such as a user device, smart phone, laptop,desktop, or tablet computer. The contactless card 500 may also includeprocessing circuitry, antenna and other components not shown in FIG. 5A.These components may be located behind the contact pad 520 or elsewhereon the substrate 510. The contactless card 500 may also include amagnetic strip or tape, which may be located on the back of the card(not shown in FIG. 5A).

As illustrated in FIG. 5B, the contact pad 520 of FIG. 5A may includeprocessing circuitry 525 for storing and processing information,including a microprocessor 530 and a memory 535. It is understood thatthe processing circuitry 525 may contain additional components,including processors, memories, error and parity/CRC checkers, dataencoders, anticollision algorithms, controllers, command decoders,security primitives and tamperproofing hardware, as necessary to performthe functions described herein.

The memory 535 may be a read-only memory, write-once read-multiplememory or read/write memory, e.g., RAM, ROM, and EEPROM, and thecontactless card 500 may include one or more of these memories. Aread-only memory may be factory programmable as read-only or one-timeprogrammable. One-time programmability provides the opportunity to writeonce then read many times. A write once/read-multiple memory may beprogrammed at a point in time after the memory chip has left thefactory. Once the memory is programmed, it may not be rewritten, but itmay be read many times. A read/write memory may be programmed andre-programed many times after leaving the factory. It may also be readmany times.

The memory 535 may be configured to store one or more applets 540, oneor more counters 545, and a customer identifier 550. The one or moreapplets 540 may comprise one or more software applications configured toexecute on one or more contactless cards, such as Java Card applet.However, it is understood that applets 540 are not limited to Java Cardapplets, and instead may be any software application operable oncontactless cards or other devices having limited memory. The one ormore counters 545 may comprise a numeric counter sufficient to store aninteger. The customer identifier 550 may comprise a unique alphanumericidentifier assigned to a user of the contactless card 500, and theidentifier may distinguish the user of the contactless card from othercontactless card users. In some examples, the customer identifier 550may identify both a customer and an account assigned to that customerand may further identify the contactless card associated with thecustomer's account.

The processor and memory elements of the foregoing exemplary embodimentsare described with reference to the contact pad, but the presentdisclosure is not limited thereto. It is understood that these elementsmay be implemented outside of the pad 520 or entirely separate from it,or as further elements in addition to processor 530 and memory 535elements located within the contact pad 520.

In some examples, the contactless card 500 may comprise one or moreantennas 555. The one or more antennas 555 may be placed within thecontactless card 500 and around the processing circuitry 525 of thecontact pad 520. For example, the one or more antennas 555 may beintegral with the processing circuitry 525 and the one or more antennas555 may be used with an external booster coil. As another example, theone or more antennas 555 may be external to the contact pad 520 and theprocessing circuitry 525.

In an embodiment, the coil of contactless card 500 may act as thesecondary of an air core transformer. The terminal may communicate withthe contactless card 500 by cutting power or amplitude modulation. Thecontactless card 500 may infer the data transmitted from the terminalusing the gaps in the contactless card's power connection, which may befunctionally maintained through one or more capacitors. The contactlesscard 500 may communicate back by switching a load on the contactlesscard's coil or load modulation. Load modulation may be detected in theterminal's coil through interference.

As explained above, the contactless cards 500 may be built on a softwareplatform operable on smart cards or other devices having limited memory,such as JavaCard, and one or more or more applications or applets may besecurely executed. Applets may be added to contactless cards to providea one-time password (OTP) for multifactor authentication (MFA) invarious mobile application-based use cases. Applets may be configured torespond to one or more requests, such as near field data exchangerequests, from a reader, such as a mobile NFC reader, and produce anNDEF message that comprises a cryptographically secure OTP encoded as anNDEF text tag.

FIG. 6 illustrates NDEF short-record layout (SR=1) 600 according to anexample embodiment. One or more applets may be configured to encode theOTP as an NDEF type 4 well known type text tag. In some examples, NDEFmessages may comprise one or more records. The applets may be configuredto add one or more static tag records in addition to the OTP record.Exemplary tags include, without limitation, Tag type: well known type,text, encoding English (en); Applet ID: D2760000850101; Capabilities:read-only access; Encoding: the authentication message may be encoded asASCII hex; type-length-value (TLV) data may be provided as apersonalization parameter that may be used to generate the NDEF message.In an embodiment, the authentication template may comprise the firstrecord, with a well-known index for providing the actual dynamicauthentication data.

FIG. 7 illustrates a message 710 and a message format 720 according toan example embodiment. In one example, if additional tags are to beadded, the first byte may change to indicate message begin, but not end,and a subsequent record may be added. Because ID length is zero, IDlength field and ID are omitted from the record. An example message mayinclude: UDK AUT key; Derived AUT session key (using 0x00000050);Version 1.0; pATC=0x00000050; RND=4838FB7DC171B89E; MAC=<eight computedbytes>.

In some examples, data may be stored in the contactless card atpersonalization time by implementing STORE DATA (E2) under securechannel protocol 2. One or more values may be read by thepersonalization bureau from the EMBOSS files (in a section designated bythe Applet ID) and one or more store data commands may be transmitted tothe contactless card after authentication and secure channelestablishment.

pUID may comprise a 16-digit BCD encoded number. In some examples, pUIDmay comprise 14 digits.

Length Item (bytes) Encrypted? Notes pUID 8 No AutKey 16 Yes 3DES Keyfor Deriving MAC session keys AutKCV 3 No Key Check Value DEKKey 16 Yes3DES Key for deriving Encryption session key DEKKCV 3 No Key Check ValueCard Shared 4 bytes No 4 Byte True Random Random number (pre-generated)NTLV X Bytes No TLV data for NDEF message

In some examples, the one or more applets may be configured to maintainits personalization state to allow personalization only if unlocked andauthenticated. Other states may comprise standard statespre-personalization. On entering into a terminated state, the one ormore applets may be configured to remove personalization data. In theterminated state, the one or more applets may be configured to stopresponding to all application protocol data unit (APDU) requests.

The one or more applets may be configured to maintain an applet version(2 bytes), which may be used in the authentication message. In someexamples, this may be interpreted as most significant byte majorversion, least significant byte minor version. The rules for each of theversions are configured to interpret the authentication message: Forexample, regarding the major version, this may include that each majorversion comprise a specific authentication message layout and specificalgorithms. For the minor version, this may include no changes to theauthentication message or cryptographic algorithms, and changes tostatic tag content, in addition to bug fixes, security hardening, etc.

In some examples, the one or more applets may be configured to emulatean RFID tag. The RFID tag may include one or more polymorphic tags. Insome examples, each time the tag is read, different cryptographic datais presented that may indicate the authenticity of the contactless card.Based on the one or more applications, an NFC read of the tag may beprocessed, the token may be transmitted to a server, such as a backendserver, and the token may be validated at the server.

In some examples, the contactless card and server may include certaindata such that the card may be properly identified. The contactless cardmay comprise one or more unique identifiers. Each time a read operationtakes place, a counter may be configured to update. In some examples,each time the card is read, it is transmitted to the server forvalidation and determines whether the counter is equal (as part of thevalidation).

The one or more counters may be configured to prevent a replay attack.For example, if a cryptogram has been obtained and replayed, thatcryptogram is immediately rejected if the counter has been read or usedor otherwise passed over. If the counter has not been used, it may bereplayed. In some examples, the counter that is updated on the card isdifferent from the counter that is updated for transactions. In someexamples, the contactless card may comprise a first applet, which may bea transaction applet, and a second applet. Each applet may comprise acounter.

In some examples, the counter may get out of sync between thecontactless card and one or more servers. For example, the contactlesscard may be activated causing the counter to be updated and a newcommunication to be generated by the contactless card, but thecommunication may be not be transmitted for processing at the one ormore servers. This may cause the counter of the contactless card and thecounter maintained at the one or more servers to get out of sync. Thismay occur unintentionally including, for example, where a card is storedadjacent to a device (e.g., carried in a pocket with a device) and wherethe contactless card is read at an angle may include the card beingmisaligned or not positioned such that the contactless card is poweredup an the NFC field but is not readable. If the contactless card ispositioned adjacent to a device, the device's NFC field may be turned onto power the contactless card causing the counter therein to be updated,but no application on the device receives the communication.

To keep the counter in sync, an application, such as a backgroundapplication, may be executed that would be configured to detect when themobile device wakes up and synchronize with the one or more serversindicating that a read that occurred due to detection to then move thecounter forward. Since the counters of the contactless card and the oneor more servers may get out of sync, the one or more servers may beconfigured to allow the counter of the contactless card to be updated athreshold or predetermined number of times before it is read by the oneor more servers and still be considered valid. For example, if thecounter is configured to increment (or decrement) by one for eachoccurrence indicating activation of the contactless card, the one ormore servers may allow any counter value it reads from the contactlesscard as valid, or any counter value within a threshold range (e.g., from1 to 10). Moreover, the one or more servers may be configured to requesta gesture associated with the contactless card, such as a user tap, ifit reads a counter value which has advanced beyond 10, but below anotherthreshold range value (such as 1000). From the user tap, if the countervalue is within a desired or acceptance range, authentication succeeds.

FIG. 8 is a flowchart illustrating key operations 800 according to anexample embodiment. As illustrated in FIG. 8, at block 810, two bankidentifier number (BIN) level master keys may be used in conjunctionwith the account identifier and card sequence number to produce twounique derived keys (UDKs) per card. In some examples, a bank identifiernumber may comprise one number or a combination of one or more numbers,such as an account number or an unpredictable number provided by one ormore servers, may be used for session key generation and/ordiversification. The UDKs (AUTKEY and ENCKEY) may be stored on the cardduring the personalization process.

At block 820, the counter may be used as the diversification data, sinceit changes with each use and provides a different session key each time,as opposed to the master key derivation in which one unique set of keysper card is produced. In some examples, it is preferable to use the4-byte method for both operations. Accordingly, at block 820, twosession keys may be created for each transaction from the UDKs, i.e.,one session key from AUTKEY and one session key from ENCKEY. In thecard, for the MAC key (i.e., the session key created from AUTKEY), thelow order of two bytes of the OTP counter may be used fordiversification. For the ENC key (i.e., the session key created fromENCKEY), the full length of the OTP counter may be used for the ENC key.

At block 830, the MAC key may be used for preparing the MAC cryptogram,and the ENC key may be used to encrypt the cryptogram. For example, theMAC session key may be used to prepare the cryptogram, and the resultmay be encrypted with the ENC key before it is transmitted to the one ormore servers.

At block 840, verification and processing of the MAC is simplifiedbecause 2-byte diversification is directly supported in the MACauthentication functions of payment HSMs. Decryption of the cryptogramis performed prior to verification of the MAC. The session keys areindependently derived at the one or more servers, resulting in a firstsession key (the ENC session key) and a second session key (the MACsession key). The second derived key (i.e., the ENC session key) may beused to decrypt the data, and the first derived key (i.e., the MACsession key) may be used to verify the decrypted data.

For the contactless card, a different unique identifier is derived whichmay be related to the application primary account number (PAN) and PANsequence number, which is encoded in the card. The key diversificationmay be configured to receive the identifier as input with the master keysuch that one or more keys may be created for each contactless card. Insome examples, these diversified keys may comprise a first key and asecond key. The first key may include an authentication master key (CardCryptogram Generation/Authentication Key—Card-Key-Auth), and may befurther diversified to create a MAC session key used when generating andverifying a MAC cryptogram. The second key may comprise an encryptionmaster key (Card Data Encryption Key—Card-Key-DEK), and may be furtherdiversified to create an ENC session key used when encrypting anddecrypting enciphered data. In some examples, the first and the secondkeys may be created by diversifying the issuer master keys by combiningthem with the card's unique ID number (pUID) and the PAN sequence number(PSN) of a payment applet. The pUID may comprise a 16-digit numericalvalue. As explained above, pUID may comprise a 16 digit BCD encodednumber. In some examples, pUID may comprise a 14-digit numerical value.

In some examples, since the EMV session key derivation method may wrapat 2{circumflex over ( )}16 uses, the counter such as the full 32-bitcounter may be added to the initialization arrays of the diversificationmethod.

In other examples, such as credit cards, a number, such as an accountnumber or an unpredictable number provided by one or more servers, maybe used for session key generation and/or diversification.

FIG. 9 illustrates a diagram of a system 900 configured to implement oneor more embodiments of the present disclosure. As explained below,during the contactless card creation process, two cryptographic keys maybe assigned uniquely for each card. The cryptographic keys may comprisesymmetric keys which may be used in both encryption and decryption ofdata. Triple DES (3DES) algorithm may be used by EMV and it isimplemented by hardware in the contactless card. By using a keydiversification process, one or more keys may be derived from a masterkey based upon uniquely identifiable information for each entity thatrequires a key.

Regarding master key management, two issuer master keys 905, 910 may berequired for each part of the portfolio on which the one or more appletsis issued. For example, the first master key 905 may comprise an IssuerCryptogram Generation/Authentication Key (Iss-Key-Auth) and the secondmaster key 910 may comprise an Issuer Data Encryption Key (Iss-Key-DEK).As further explained herein, two issuer master keys 905, 910 arediversified into card master keys 925, 930, which are unique for eachcard. In some examples, a network profile record ID (pNPR) 915 andderivation key index (pDKI) 920, as back office data, may be used toidentify which Issuer Master Keys 905, 910 to use in the cryptographicprocesses for authentication. The system performing the authenticationmay be configured to retrieve values of pNPR 915 and pDKI 920 for acontactless card at the time of authentication.

In some examples, to increase the security of the solution, a sessionkey may be derived (such as a unique key per session) but rather thanusing the master key, the unique card-derived keys and the counter maybe used as diversification data, as explained above. For example, eachtime the card is used in operation, a different key may be used forcreating the message authentication code (MAC) and for performing theencryption. Regarding session key generation, the keys used to generatethe cryptogram and encipher the data in the one or more applets maycomprise session keys based on the card unique keys (Card-Key-Auth 925and Card-Key-Dek 930). The session keys (Aut-Session-Key 935 andDEK-Session-Key 940) may be generated by the one or more applets andderived by using the application transaction counter (pATC) 945 with oneor more algorithms. To fit data into the one or more algorithms, onlythe 2 low order bytes of the 4-byte pATC 945 is used. In some examples,the four byte session key derivation method may comprise: F1:=PATC(lower 2 bytes)∥‘F0’∥PATC (four bytes) F1:=PATC(lower 2bytes)∥‘0F’∥‘00’∥PATC (four bytes) SK:={(ALG (MK) [F1])∥ALG(MK)[F2]},where ALG may include 3DES ECB and MK may include the card uniquederived master key.

As described herein, one or more MAC session keys may be derived usingthe lower two bytes of pATC 945 counter. At each tap of the contactlesscard, pATC 945 is configured to be updated, and the card master keysCard-Key-AUTH 925 and Card-Key-DEK 930 are further diversified into thesession keys Aut-Session-Key 935 and DEK-Session-KEY 940. pATC 945 maybe initialized to zero at personalization or applet initialization time.In some examples, the pATC counter 945 may be initialized at or beforepersonalization, and may be configured to increment by one at each NDEFread.

Further, the update for each card may be unique, and assigned either bypersonalization, or algorithmically assigned by pUID or otheridentifying information. For example, odd numbered cards may incrementor decrement by 2 and even numbered cards may increment or decrement by5. In some examples, the update may also vary in sequential reads, suchthat one card may increment in sequence by 1, 3, 5, 2, 2, . . .repeating. The specific sequence or algorithmic sequence may be definedat personalization time, or from one or more processes derived fromunique identifiers. This can make it harder for a replay attacker togeneralize from a small number of card instances.

The authentication message may be delivered as the content of a textNDEF record in hexadecimal ASCII format. In some examples, only theauthentication data and an 8-byte random number followed by MAC of theauthentication data may be included. In some examples, the random numbermay precede cryptogram A and may be one block long. In other examples,there may be no restriction on the length of the random number. Infurther examples, the total data (i.e., the random number plus thecryptogram) may be a multiple of the block size. In these examples, anadditional 8-byte block may be added to match the block produced by theMAC algorithm. As another example, if the algorithms employed used16-byte blocks, even multiples of that block size may be used, or theoutput may be automatically, or manually, padded to a multiple of thatblock size.

The MAC may be performed by a function key (AUT-Session-Key) 935. Thedata specified in cryptogram may be processed with javacard. signaturemethod: ALG_DES_MAC8_ISO9797_1_M2_ALG3 to correlate to EMV ARQCverification methods. The key used for this computation may comprise asession key AUT-Session-Key 935, as explained above. As explained above,the low order two bytes of the counter may be used to diversify for theone or more MAC session keys. As explained below, AUT-Session-Key 935may be used to MAC data 950, and the resulting data or cryptogram A 955and random number RND may be encrypted using DEK-Session-Key 940 tocreate cryptogram B or output 960 sent in the message.

In some examples, one or more HSM commands may be processed fordecrypting such that the final 16 (binary, 32 hex) bytes may comprise a3DES symmetric encrypting using CBC mode with a zero IV of the randomnumber followed by MAC authentication data. The key used for thisencryption may comprise a session key DEK-Session-Key 940 derived fromthe Card-Key-DEK 930. In this case, the ATC value for the session keyderivation is the least significant byte of the counter pATC 945.

The format below represents a binary version example embodiment.Further, in some examples, the first byte may be set to ASCII ‘A’.

Message Format 1 2 4 8 8 0x43 (Message Version pATC RND Cryptogram AType ‘A’) (MAC) Cryptogram A 8 bytes (MAC) MAC of 2 8 4 4 18 bytes inputdata Version pUID pATC Shared Secret Message Format 1 2 4 16 0x43(Message Version pATC Cryptogram B Type ‘A’) Cryptogram A 8 bytes (MAC)MAC of 2 8 4 4 18 bytes input data Version pUID pATC Shared SecretCryptogram B 16 Sym Encryption of 8 8 RND Cryptogram A

Another exemplary format is shown below. In this example, the tag may beencoded in hexadecimal format.

Message Format 2 8 4 8 8 Version pUID pATC RND Cryptogram A (MAC) 8bytes 8 8 4 4 18 bytes input data pUID pUID pATC Shared Secret MessageFormat 2 8 4 16 Version pUID pATC Cryptogram B 8 bytes 8 4 4 18 bytesinput data pUID pUID pATC Shared Secret Cryptogram B 16 Sym Encryptionof 8 8 RND Cryptogram A

The UID field of the received message may be extracted to derive, frommaster keys Iss-Key-AUTH 905 and Iss-Key-DEK 910, the card master keys(Card-Key-Auth 925 and Card-Key-DEK 930) for that particular card. Usingthe card master keys (Card-Key-Auth 925 and Card-Key-DEK 930), thecounter (pATC) field of the received message may be used to derive thesession keys (Aut-Session-Key 935 and DEK-Session-Key 940) for thatparticular card. Cryptogram B 960 may be decrypted using theDEK-Session-KEY, which yields cryptogram A 955 and RND, and RND may bediscarded. The UID field may be used to look up the shared secret of thecontactless card which, along with the Ver, UID, and pATC fields of themessage, may be processed through the cryptographic MAC using there-created Aut-Session-Key to create a MAC output, such as MAC′. If MAC′is the same as cryptogram A 955, then this indicates that the messagedecryption and MAC checking have all passed. Then the pATC may be readto determine if it is valid.

During an authentication session, one or more cryptograms may begenerated by the one or more applications. For example, the one or morecryptograms may be generated as a 3DES MAC using ISO 9797-1 Algorithm 3with Method 2 padding via one or more session keys, such asAut-Session-Key 935. The input data 950 may take the following form:Version (2), pUID (8), pATC (4), Shared Secret (4). In some examples,the numbers in the brackets may comprise length in bytes. In someexamples, the shared secret may be generated by one or more randomnumber generators which may be configured to ensure, through one or moresecure processes, that the random number is unpredictable. In someexamples, the shared secret may comprise a random 4-byte binary numberinjected into the card at personalization time that is known by theauthentication service. During an authentication session, the sharedsecret may not be provided from the one or more applets to the mobileapplication. Method 2 padding may include adding a mandatory 0x‘80’ byteto the end of input data and 0x‘00’ bytes that may be added to the endof the resulting data up to the 8-byte boundary. The resultingcryptogram may comprise 8 bytes in length.

In some examples, one benefit of encrypting an unshared random number asthe first block with the MAC cryptogram, is that it acts as aninitialization vector while using CBC (Block chaining) mode of thesymmetric encryption algorithm. This allows the “scrambling” from blockto block without having to pre-establish either a fixed or dynamic IV.

By including the application transaction counter (pATC) as part of thedata included in the MAC cryptogram, the authentication service may beconfigured to determine if the value conveyed in the clear data has beentampered with. Moreover, by including the version in the one or morecryptograms, it is difficult for an attacker to purposefullymisrepresent the application version in an attempt to downgrade thestrength of the cryptographic solution. In some examples, the pATC maystart at zero and be updated by 1 each time the one or more applicationsgenerates authentication data. The authentication service may beconfigured to track the pATCs used during authentication sessions. Insome examples, when the authentication data uses a pATC equal to orlower than the previous value received by the authentication service,this may be interpreted as an attempt to replay an old message, and theauthenticated may be rejected. In some examples, where the pATC isgreater than the previous value received, this may be evaluated todetermine if it is within an acceptable range or threshold, and if itexceeds or is outside the range or threshold, verification may be deemedto have failed or be unreliable. In the MAC operation 936, data 950 isprocessed through the MAC using Aut-Session-Key 935 to produce MACoutput (cryptogram A) 955, which is encrypted.

In order to provide additional protection against brute force attacksexposing the keys on the card, it is desirable that the MAC cryptogram955 be enciphered. In some examples, data or cryptogram A 955 to beincluded in the ciphertext may comprise: Random number (8), cryptogram(8). In some examples, the numbers in the brackets may comprise lengthin bytes. In some examples, the random number may be generated by one ormore random number generators which may be configured to ensure, throughone or more secure processes, that the random number is unpredictable.The key used to encipher this data may comprise a session key. Forexample, the session key may comprise DEK-Session-Key 940. In theencryption operation 941, data or cryptogram A 955 and RND are processedusing DEK-Session-Key 940 to produce encrypted data, cryptogram B 960.The data 955 may be enciphered using 3DES in cipher block chaining modeto ensure that an attacker must run any attacks over all of theciphertext. As a non-limiting example, other algorithms, such asAdvanced Encryption Standard (AES), may be used. In some examples, aninitialization vector of 0x‘0000000000000000’ may be used. Any attackerseeking to brute force the key used for enciphering this data will beunable to determine when the correct key has been used, as correctlydecrypted data will be indistinguishable from incorrectly decrypted datadue to its random appearance.

In order for the authentication service to validate the one or morecryptograms provided by the one or more applets, the following data mustbe conveyed from the one or more applets to the mobile device in theclear during an authentication session: version number to determine thecryptographic approach used and message format for validation of thecryptogram, which enables the approach to change in the future; pUID toretrieve cryptographic assets, and derive the card keys; and pATC toderive the session key used for the cryptogram.

FIG. 10 illustrates a method 1000 for generating a cryptogram. Forexample, at block 1010, a network profile record ID (pNPR) andderivation key index (pDKI) may be used to identify which Issuer MasterKeys to use in the cryptographic processes for authentication. In someexamples, the method may include performing the authentication toretrieve values of pNPR and pDKI for a contactless card at the time ofauthentication.

At block 1020, Issuer Master Keys may be diversified by combining themwith the card's unique ID number (pUID) and the PAN sequence number(PSN) of one or more applets, for example, a payment applet.

At block 1030, Card-Key-Auth and Card-Key-DEK (unique card keys) may becreated by diversifying the Issuer Master Keys to generate session keyswhich may be used to generate a MAC cryptogram.

At block 1040, the keys used to generate the cryptogram and encipher thedata in the one or more applets may comprise the session keys of block1030 based on the card unique keys (Card-Key-Auth and Card-Key-DEK). Insome examples, these session keys may be generated by the one or moreapplets and derived by using pATC, resulting in session keysAut-Session-Key and DEK-Session-Key.

FIG. 11 depicts an exemplary process 1100 illustrating keydiversification according to one example. Initially, a sender and therecipient may be provisioned with two different master keys. Forexample, a first master key may comprise the data encryption master key,and a second master key may comprise the data integrity master key. Thesender has a counter value, which may be updated at block 1110, andother data, such as data to be protected, which it may secure share withthe recipient.

At block 1120, the counter value may be encrypted by the sender usingthe data encryption master key to produce the data encryption derivedsession key, and the counter value may also be encrypted by the senderusing the data integrity master key to produce the data integrityderived session key. In some examples, a whole counter value or aportion of the counter value may be used during both encryptions.

In some examples, the counter value may not be encrypted. In theseexamples, the counter may be transmitted between the sender and therecipient in the clear, i.e., without encryption.

At block 1130, the data to be protected is processed with acryptographic MAC operation by the sender using the data integritysession key and a cryptographic MAC algorithm. The protected data,including plaintext and shared secret, may be used to produce a MACusing one of the session keys (AUT-Session-Key).

At block 1140, the data to be protected may be encrypted by the senderusing the data encryption derived session key in conjunction with asymmetric encryption algorithm. In some examples, the MAC is combinedwith an equal amount of random data, for example each 8 bytes long, andthen encrypted using the second session key (DEK-Session-Key).

At block 1150, the encrypted MAC is transmitted, from the sender to therecipient, with sufficient information to identify additional secretinformation (such as shared secret, master keys, etc.), for verificationof the cryptogram.

At block 1160, the recipient uses the received counter value toindependently derive the two derived session keys from the two masterkeys as explained above.

At block 1170, the data encryption derived session key is used inconjunction with the symmetric decryption operation to decrypt theprotected data. Additional processing on the exchanged data will thenoccur. In some examples, after the MAC is extracted, it is desirable toreproduce and match the MAC. For example, when verifying the cryptogram,it may be decrypted using appropriately generated session keys. Theprotected data may be reconstructed for verification. A MAC operationmay be performed using an appropriately generated session key todetermine if it matches the decrypted MAC. As the MAC operation is anirreversible process, the only way to verify is to attempt to recreateit from source data.

At block 1180, the data integrity derived session key is used inconjunction with the cryptographic MAC operation to verify that theprotected data has not been modified.

Some examples of the methods described herein may advantageously confirmwhen a successful authentication is determined when the followingconditions are met. First, the ability to verify the MAC shows that thederived session key was proper. The MAC may only be correct if thedecryption was successful and yielded the proper MAC value. Thesuccessful decryption may show that the correctly derived encryption keywas used to decrypt the encrypted MAC. Since the derived session keysare created using the master keys known only to the sender (e.g., thetransmitting device) and recipient (e.g., the receiving device), it maybe trusted that the contactless card which originally created the MACand encrypted the MAC is indeed authentic. Moreover, the counter valueused to derive the first and second session keys may be shown to bevalid and may be used to perform authentication operations.

Thereafter, the two derived session keys may be discarded, and the nextiteration of data exchange will update the counter value (returning toblock 1110) and a new set of session keys may be created (at block1120). In some examples, the combined random data may be discarded.

Example embodiments of systems and methods described herein may beconfigured to provide security factor authentication. The securityfactor authentication may comprise a plurality of processes. As part ofthe security factor authentication, a first process may comprise loggingin and validating a user via one or more applications executing on adevice. As a second process, the user may, responsive to successfullogin and validation of the first process via the one or moreapplications, engage in one or more behaviors associated with one ormore contactless cards. In effect, the security factor authenticationmay include both securely proving identity of the user and engaging inone or more types of behaviors, including but not limited to one or moretap gestures, associated with the contactless card. In some examples,the one or more tap gestures may comprise a tap of the contactless cardby the user to a device. In some examples, the device may comprise amobile device, a kiosk, a terminal, a tablet, or any other deviceconfigured to process a received tap gesture.

In some examples, the contactless card may be tapped to a device, suchas one or more computer kiosks or terminals, to verify identity so as toreceive a transactional item responsive to a purchase, such as a coffee.By using the contactless card, a secure method of proving identity in aloyalty program may be established. Securely proving the identity, forexample, to obtain a reward, coupon, offer, or the like or receipt of abenefit is established in a manner that is different than merelyscanning a bar card. For example, an encrypted transaction may occurbetween the contactless card and the device, which may configured toprocess one or more tap gestures. As explained above, the one or moreapplications may be configured to validate identity of the user and thencause the user to act or respond to it, for example, via one or more tapgestures. In some examples, data for example, bonus points, loyaltypoints, reward points, healthcare information, etc., may be written backto the contactless card.

In some examples, the contactless card may be tapped to a device, suchas a mobile device. As explained above, identity of the user may beverified by the one or more applications which would then grant the usera desired benefit based on verification of the identity.

In some examples, the contactless card may be activated by tapping to adevice, such as a mobile device. For example, the contactless card maycommunicate with an application of the device via a card reader of thedevice through NFC communication. The communication, in which a tap ofthe card proximate the card reader of the device may allow theapplication of the device to read data associated with the contactlesscard and activate the card. In some examples, the activation mayauthorize the card to be used to perform other functions, e.g.,purchases, access account or restricted information, or other functions.In some examples, the tap may activate or launch the application of thedevice and then initiate one or more actions or communications with oneor more servers to activate the contactless card. If the application isnot installed on the device, a tap of the contactless card proximate thecard reader may initiate a download of the application, such asnavigation to a download page of the application). Subsequent toinstallation, a tap of the contactless card may activate or launch theapplication, and then initiate, for example via the application or otherback-end communication), activation of the contactless card. Afteractivation, the contactless card may be used in various activities,including without limitation commercial transactions.

In some embodiments, a dedicated application may be configured toexecute on a client device to perform the activation of the contactlesscard. In other embodiments, a webportal, a web-based app, an applet,and/or the like may perform the activation. Activation may be performedon the client device, or the client device may merely act as a gobetween for the contactless card and an external device (e.g., accountserver). According to some embodiments, in providing activation, theapplication may indicate, to the account server, the type of deviceperforming the activation (e.g., personal computer, smartphone, tablet,or point-of-sale (POS) device). Further, the application may output, fortransmission, different and/or additional data to the account serverdepending on the type of device involved. For example, such data maycomprise information associated with a merchant, such as merchant type,merchant ID, and information associated with the device type itself,such as POS data and POS ID.

In some embodiments, the example authentication communication protocolmay mimic an offline dynamic data authentication protocol of the EMVstandard that is commonly performed between a transaction card and apoint-of-sale device, with some modifications. For example, because theexample authentication protocol is not used to complete a paymenttransaction with a card issuer/payment processor per se, some datavalues are not needed, and authentication may be performed withoutinvolving real-time online connectivity to the card issuer/paymentprocessor. As is known in the art, point of sale (POS) systems submittransactions including a transaction value to a card issuer. Whether theissuer approves or denies the transaction may be based on if the cardissuer recognizes the transaction value. Meanwhile, in certainembodiments of the present disclosure, transactions originating from amobile device lack the transaction value associated with the POSsystems. Therefore, in some embodiments, a dummy transaction value(i.e., a value recognizable to the card issuer and sufficient to allowactivation to occur) may be passed as part of the example authenticationcommunication protocol. POS based transactions may also declinetransactions based on the number of transaction attempts (e.g.,transaction counter). A number of attempts beyond a buffer value mayresult in a soft decline; the soft decline requiring furtherverification before accepting the transaction. In some implementations,a buffer value for the transaction counter may be modified to avoiddeclining legitimate transactions.

In some examples, the contactless card can selectively communicateinformation depending upon the recipient device. Once tapped, thecontactless card can recognize the device to which the tap is directed,and based on this recognition the contactless card can provideappropriate data for that device. This advantageously allows thecontactless card to transmit only the information required to completethe instant action or transaction, such as a payment or cardauthentication. By limiting the transmission of data and avoiding thetransmission of unnecessary data, both efficiency and data security canbe improved. The recognition and selective communication of informationcan be applied to a various scenarios, including card activation,balance transfers, account access attempts, commercial transactions, andstep-up fraud reduction.

If the contactless card tap is directed to a device running Apple's iOS®operating system, e.g., an iPhone, iPod, or iPad, the contactless cardcan recognize the iOS® operating system and transmit data appropriatedata to communicate with this device. For example, the contactless cardcan provide the encrypted identity information necessary to authenticatethe card using NDEF tags via, e.g., NFC. Similarly, if the contactlesscard tap is directed to a device running the Android® operating system,e.g., an Android® smartphone or tablet, the contactless card canrecognize the Android® operating system and transmit appropriate anddata to communicate with this device (such as the encrypted identityinformation necessary for authentication by the methods describedherein).

As another example, the contactless card tap can be directed to a POSdevice, including without limitation a kiosk, a checkout register, apayment station, or other terminal. Upon performance of the tap, thecontactless card can recognize the POS device and transmit only theinformation necessary for the action or transaction. For example, uponrecognition of a POS device used to complete a commercial transaction,the contactless card can communicate payment information necessary tocomplete the transaction under the EMV standard.

In some examples, the POS devices participating in the transaction canrequire or specify additional information, e.g., device-specificinformation, location-specific information, and transaction-specificinformation, that is to be provided by the contactless card. Forexample, once the POS device receives a data communication from thecontactless card, the POS device can recognize the contactless card andrequest the additional information necessary to complete an action ortransaction.

In some examples the POS device can be affiliated with an authorizedmerchant or other entity familiar with certain contactless cards oraccustomed to performing certain contactless card transactions. However,it is understood such an affiliation is not required for the performanceof the described methods.

In some examples, such as a shopping store, grocery store, conveniencestore, or the like, the contactless card may be tapped to a mobiledevice without having to open an application, to indicate a desire orintent to utilize one or more of reward points, loyalty points, coupons,offers, or the like to cover one or more purchases. Thus, an intentionbehind the purchase is provided.

In some examples, the one or more applications may be configured todetermine that it was launched via one or more tap gestures of thecontactless card, such that a launch occurred at 3:51 pm, that atransaction was processed or took place at 3:56 pm, in order to verifyidentity of the user.

In some examples, the one or more applications may be configured tocontrol one or more actions responsive to the one or more tap gestures.For example, the one or more actions may comprise collecting rewards,collecting points, determine the most important purchase, determine theleast costly purchase, and/or reconfigure, in real-time, to anotheraction.

In some examples, data may be collected on tap behaviors asbiometric/gestural authentication. For example, a unique identifier thatis cryptographically secure and not susceptible to interception may betransmitted to one or more backend services. The unique identifier maybe configured to look up secondary information about individual. Thesecondary information may comprise personally identifiable informationabout the user. In some examples, the secondary information may bestored within the contactless card.

In some examples, the device may comprise an application that splitsbills or check for payment amongst a plurality of individuals. Forexample, each individual may possess a contactless card, and may becustomers of the same issuing financial institution, but it is notnecessary. Each of these individuals may receive a push notification ontheir device, via the application, to split the purchase. Rather thanaccepting only one card tap to indicate payment, other contactless cardsmay be used. In some examples, individuals who have different financialinstitutions may possess contactless cards to provide information toinitiate one or more payment requests from the card-tapping individual.

The following example use cases describe examples of particularimplementations of the present disclosure. These are intended solely forexplanatory purposes and not for purposes of limitation. In one case, afirst friend (payor) owes a second friend (payee) a sum of money. Ratherthan going to an ATM or requiring exchange through a peer-to-peerapplication, payor wishes to pay via payee's smartphone (or otherdevice) using a contactless card. Payee logs-on to the appropriateapplication on his smartphone and selects a payment request option. Inresponse, the application requests authentication via payee'scontactless card. For example, the application outputs a displayrequesting that payee tap his contactless card. Once payee taps hiscontactless card against the screen of his smartphone with theapplication enabled, the contactless card is read and verified. Next,the application displays a prompt for payor to tap his contactless cardto send payment. After the payor taps his contactless card, theapplication reads the card information and transmits, via an associatedprocessor, a request for payment to payor's card issuer. The card issuerprocesses the transaction and sends a status indicator of thetransaction to the smartphone. The application then outputs for displaythe status indicator of the transaction.

In another example case, a credit card customer may receive a new creditcard (or debit card, other payment card, or any other card requiringactivation) in the mail. Rather than activating the card by calling aprovided telephone number associated with the card issuer or visiting awebsite, the customer may decide to activate the card via an applicationon his or her device (e.g., a mobile device such as a smartphone). Thecustomer may select the card activation feature from the application'smenu that is displayed on a display of the device. The application mayprompt the customer to tap his or her credit card against the screen.Upon tapping the credit card against the screen of the device, theapplication may be configured to communicate with a server, such as acard issuer server which activates the customer's card. The applicationmay then displays a message indicating successful activation of thecard. The card activation would then be complete.

FIG. 12 illustrates a method 1200 for card activation according to anexample embodiment. For example, card activation may be completed by asystem including a card, a device, and one or more servers. Thecontactless card, device, and one or more servers may reference same orsimilar components that were previously explained above with referenceto FIG. 1A, FIG. 1B, FIG. 5A, and FIG. 5B, such as contactless card 105,client device 110, and server 120.

In block 1210, the card may be configured to dynamically generate data.In some examples, this data may include information such as an accountnumber, card identifier, card verification value, or phone number, whichmay be transmitted from the card to the device. In some examples, one ormore portions of the data may be encrypted via the systems and methodsdisclosed herein.

In block 1220, one or more portions of the dynamically generated datamay be communicated to an application of the device via NFC or otherwireless communication. For example, a tap of the card proximate to thedevice may allow the application of the device to read the one or moreportions of the data associated with the contactless card. In someexamples, if the device does not comprise an application to assist inactivation of the card, the tap of the card may direct the device orprompt the customer to a software application store to download anassociated application to activate the card. In some examples, the usermay be prompted to sufficiently gesture, place, or orient the cardtowards a surface of the device, such as either at an angle or flatlyplaced on, near, or proximate the surface of the device. Responsive to asufficient gesture, placement and/or orientation of the card, the devicemay proceed to transmit the one or more encrypted portions of datareceived from the card to the one or more servers.

In block 1230, the one or more portions of the data may be communicatedto one or more servers, such as a card issuer server. For example, oneor more encrypted portions of the data may be transmitted from thedevice to the card issuer server for activation of the card.

In block 1240, the one or more servers may decrypt the one or moreencrypted portions of the data via the systems and methods disclosedherein. For example, the one or more servers may receive the encrypteddata from the device and may decrypt it in order to compare the receiveddata to record data accessible to the one or more servers. If aresulting comparison of the one or more decrypted portions of the databy the one or more servers yields a successful match, the card may beactivated. If the resulting comparison of the one or more decryptedportions of the data by the one or more servers yields an unsuccessfulmatch, one or more processes may take place. For example, responsive tothe determination of the unsuccessful match, the user may be prompted totap, swipe, or wave gesture the card again. In this case, there may be apredetermined threshold comprising a number of attempts that the user ispermitted to activate the card. Alternatively, the user may receive anotification, such as a message on his or her device indicative of theunsuccessful attempt of card verification and to call, email or text anassociated service for assistance to activate the card, or anothernotification, such as a phone call on his or her device indicative ofthe unsuccessful attempt of card verification and to call, email or textan associated service for assistance to activate the card, or anothernotification, such as an email indicative of the unsuccessful attempt ofcard verification and to call, email or text an associated service forassistance to activate the card.

In block 1250, the one or more servers may transmit a return messagebased on the successful activation of the card. For example, the devicemay be configured to receive output from the one or more serversindicative of a successful activation of the card by the one or moreservers. The device may be configured to display a message indicatingsuccessful activation of the card. Once the card has been activated, thecard may be configured to discontinue dynamically generating data so asto avoid fraudulent use. In this manner, the card may not be activatedthereafter, and the one or more servers are notified that the card hasalready been activated.

In another example case, a customer wants to access his financialaccounts on his or her mobile phone. The customer launches anapplication (e.g., a bank application) on the mobile device and inputs ausername and password. At this stage, the customer may see first-levelaccount information (e.g., recent purchases) and be able to performfirst-level account options (e.g., pay credit-card). However, if theuser attempts to access second-level account information (e.g., spendinglimit) or perform a second-level account option (e.g., transfer toexternal system) he must have a second-factor authentication.Accordingly, the application requests that a user provide a transactioncard (e.g., credit card) for account verification. The user then tapshis credit card to the mobile device, and the application verifies thatthe credit card corresponds to the user's account. Thereafter, the usermay view second-level account data and/or perform second-level accountfunctions.

In some examples, the systems and methods described herein may beapplied to supplement the FIDO2 framework developed by the FIDO Alliance(FIDO) by, e.g., verifying the identity of the user initiating a FIDO2authentication. A vulnerability of the FIDO2 framework is the identityof the user seeking to undertake the FIDO2 authentication process. Byconfirming the user attempting to register credentials and authenticatevia the FIDO2 framework is the user he or she claims to be and isauthorized to undergo authentication, the security of the FIDO2framework may be improved and unauthorized users may be excluded. Inother examples, the systems and methods described herein may be appliedto supplement WebAuthn, Client to Authenticator Protocol (CTAP), FIDO,or other authentication implementations. It is understood that thepresent disclosure may be applied to any authentication implementation,and the present disclosure is not limited to the FIDO2 framework.

As described herein, embodiments of the present disclosure providesystems and methods for data transmission between a contactless card anda client device. In an embodiment, each of the contactless card andclient device may contain a master key. The contactless card maygenerate a diversified key using the master key, and protect a countervalue prior to transmitting the counter value to the client device. Theclient device may generate the diversified key based on the master keyand counter value. The FIDO private key may facilitate a FIDOtransaction between the client device and a server, which includes acorresponding FIDO public key. As further examples, the client devicemay randomly generate a unique public and private key pair, or theclient device may generate one or more diversified keys using a masterkey and available identification information (e.g., a site identifierfor a website associated with a service provider).

In an example embodiment, the data transmission system disclosed hereinmay be implemented in a FIDO system. A FIDO system may include a clientdevice and a server associated with a service provider. The clientdevice may store a FIDO private key and the server may store a FIDOpublic key associated with the FIDO private key. For example, when auser registers an account with the service provider, the client devicemay generate the FIDO public-key-private-key pair. The client device maystore the FIDO private key and transmit the FIDO public key to theserver of the service provider. Subsequently, a user may sign into theaccount, e.g., by signing a challenge using the FIDO private key. Theserver may provide the challenge to the client device to sign. Forexample, the server may provide the user with a long random number or along string of random characters. The client device may receive therandom number or random characters and sign it using the FIDO privatekey. Then, the client device may transmit the signed random number tothe server.

The server may confirm the signed challenge using the FIDO public keyand allow the user to access the account only if the signed challengematches the original challenge. For example, the server may perform acryptographic hash of the challenge, and then confirm the hash using theFIDO public key. If the server confirms the long random number using theFIDO public key stored on the server, such that the random numbers orletters are the same as what was transmitted to the client device, theserver may grant access to the user. Otherwise, access may be denied tothe client device (or the user).

In one example embodiment, the FIDO private key is locked on the clientdevice, which in this example may function as the FIDO authenticator.The FIDO private key may be stored in a secure element of the clientdevice, and the FIDO private key may be used only after the FIDO privatekey is unlocked on the client device by the user. The client device mayunlock the FIDO private key by a user action. For example, the useraction may be swiping a finger, entering a PIN, speaking into amicrophone, inserting a second-factor device or pressing a button. Thesecond factor device may be a contactless card. In some examples, theserver can provide information necessary to complete the private key, sothat even if accessed or generated in an unauthorized manner, theprivate key could not be used. This information may include, forexample, part of the private key itself, part of the mater key used togenerate the private key, or other data available to the server. In someexamples, the private key may be repeatedly generated based oninformation provided by the server. In other examples, information maybe provided that requires input from the second factor device, or thatis only unlocked upon use of the second factor device (e.g., by a useraction involving the second factor device).

In another example embodiment, the server may transmit the counter valueto the client device. For example, the server may keep track of thetransactions of the contactless card. Each time the contactless cardconducts a transaction, the server may increment the counter value by apredetermined number. The contactless card may also increment thecounter value each time the contactless card conducts a transaction inrelation to the server. During a FIDO transaction, e.g., when the clientdevice may sign a challenge, the server may transmit the counter valueto the client device. This way, the contactless card and the clientdevice may have the same counter value when transmitting and receivingthe encrypted FIDO private key.

FIG. 13 shows a FIDO system 1300 using a data transmission systemaccording to an example embodiment. In this example embodiment, the FIDOsystem 1300 may include a server 1310, a client device 1320 and acontactless card 1330. The server 1310 may include a database forstoring account information for various users of the system. The clientdevice 1320 may contain and execute one or more applications, such asone or more software applications comprising instructions for executionon the client device 1320, which are configured to enable communicationswith one or more components of system 1300, transmit and/or receivedata, and perform the client device functions described herein. Theclient device 1320 may be a smartphone that may be connected to variousnetworks and send and receive communication using NFC technology, andmay include one or more software applications configured to perform thefunctions described herein. In another example, the client device 1320may be a dongle, and in a further example, the client device 1320 may bea network-enabled computer. The contactless card 1330 may include aprocessor, a memory and a transmitter, and perform the functions ofcontactless cards described herein. The server 1310 may be incommunication with the client device 1320, e.g., through a network suchas the Internet. The client device 1320 may transmit and receive signalsfrom the contactless card 1330 using the NFC technology. It isunderstood that the contactless card 1330 is not limited to acontactless card, and in some examples may be a device that is the sameor similar to the client device 1320.

In one example embodiment, a user may visit an application or website ona user interface of the client device 1320. The application may displaya sign-in page 1321, which may include a sign-in button 1322 and a setupdevice 1323. If the user taps on the button 1322, the client device 1320may sign the user in using FIDO technology. If the user taps on thebutton 1323, the client device 1320 may register a user account withservice provider or register the client device 1320 in association witha user account.

In an example embodiment, a user may tap on the button 1323. Inresponse, the client device 1320 may activate a FIDO authenticatorapplication that may generate a FIDO key pair, i.e., a FIDO private keyand FIDO public key. The FIDO key pair may be randomly generated, forexample, or a one or more diversified keys may be generated using amaster key and an identified associated with the service provider. Asanother example, a diversified key may be generating using a master keyand a counter value. The client device 1320 may store the FIDO privatekey and transmit the FIDO public key to the server 1310 using a networksuch as the Internet. Once the server 1310 receives the FIDO public key,the server 1310 may store the FIDO public key in the database inassociation with an account for the user.

In an example embodiment, a user may tap on the button 1322. Inresponse, the client device 1320 may transmit a signal to the server1310 to request a challenge for signing. The server 1310 may transmitthe challenge to the client device 1320. The challenge can, e.g., be astring of random numbers. The client device 1320 may also transmit asignal to the contactless card 1330 to request an authentication fromthe contactless card 1330, and upon receipt of the authentication, theclient device 1320 may relay the authentication to the server 1310. Uponreceipt of the response from the server 1310 by the client device 1320,the FIDO private key stored on the client device 1320 may be unlocked.

In some examples, a proxy authenticator can be created on the clientdevice 1320. For example, the proxy authenticator may prompt the user totap the contactless card 1330 to the client device 1320 in order toinitiate an authentication process and establish communication with theserver 1310. The server 1310 may then perform any authenticationprocesses necessary and sends the results of the authenticationprocesses to client device 1320. The client device 1320 may present theresults as if generated by the client device 1320 without interactionwith the server 1310, thereby acting as the proxy authenticator. Thisprocess may be employed to unlock one or more FIDO private keys storedon the server 1310. If a challenge is received, the client device 1320may pass the challenge to the server 1310 to locate the private key, andgenerate the appropriate public/private key pair or the public keynecessary for the challenge.

Once the client device 1320 receives the challenge, using the FIDOprivate key, the client device 1320 may sign the challenge, e.g.,encrypt the string of random numbers. The client device 1320 maytransmit the signed challenge to the server 1310. The server 1310 mayconfirm the signed challenge using the FIDO public key. If the confirmedchallenge is the same as the challenge that was transmitted to theclient device 1320, the server 1310 may authenticate the client device1320 (or the user of the client device 1320). If the confirmed challengeis not the same as the challenge that was transmitted to the clientdevice 1320, the server 1310 may prevent the client device 1320 fromaccess to the server 1310 (or other devices).

In an example embodiment, the data transmission system may be used by abank to process an online payment for a user. The bank may operate aserver and the user may request the online payment on a tablet of theuser. Also, the user may own a contactless card issued by the bank. Whenthe bank issues the contactless card, the server issues a pair of FIDOkeys for the user. The pair of keys include a FIDO private key and aFIDO public key. The server saves the FIDO public key, but the serverstores the FIDO private key on the contactless card. The tablet mayinclude one or more software applications and may be in communicationwith the server via the Internet. The tablet may also send and receivesignals to the contactless card using the NFC protocol. To enhance thesecurity of the online transaction, the bank may require the customer toverify the customer's identity for certain transactions, e.g.,transactions requiring payments exceeding a predetermined paymentamount. The verification may take place using the FIDO technology. Insome examples, the FIDO public key may be associated with thecontactless card. In these examples, the mater private key, or a fixedprivate key, may be stored on the device implementing the FIDOauthenticator, e.g., the server or the tablet.

FIG. 14 shows an example flowchart 1400 for processing an onlinepayment. In step 1410, a transaction may be initiated at the tablet ofthe user. For example, the user may visit a third-party website andorder a diamond necklace. In step 1420, the tablet may transmit theuser's contactless card information (e.g., account number, accountholder name, account holder address, security code, a unique cardidentifier) and/or transaction information (e.g., amount, merchant name,merchant location, date, time goods or services purchased) to thethird-party to process a payment for the transaction. The third-partymay contact the bank for authorization of the payment. In this exampleembodiment, the price of the diamond necklace exceeds a threshold valuedefined for online payments by the user and the bank may require theuser to verify the user's identity before the bank processes thepayment. This threshold value may be defined by the bank or the user.

In step 1430, the tablet may receive from the server of the bank achallenge to verify the user's identity. In response, in step 1440, anapplication stored on the tablet (e.g., the bank's application installedon the tablet) may pop up a window and ask the user to tap thecontactless card. In step 1450, the user may tap the contactless card tothe tablet, and in doing so the tablet may be granted permission to usethe FIDO private key. In step 1460, the tablet may use the FIDO privatekey to sign the challenge, and in step 1470, the tablet may transmit thesigned challenge to the server. In response to receiving the signedchallenge, the server may confirm the identity of the user and authorizethe payment, in step 1480. When the payment is authorized, the servermay transmit a message to the third-party. In step 1490, the tablet mayreceive a message from the third-party indicating that the transactionis processed.

FIG. 15 shows an example user interface for a client device 1320 forprocessing the online payment. In this example embodiment, the clientdevice 1320 is a tablet displaying the checkout page 1510. This page mayshow the diamond necklace that the user selected and the price for theitem. The page 1510 may include a field 1520 for entering the user'scredit card information. The page 1510 may also include a button 1530for processing the transaction. Once the user taps on the button 1530,the tablet may transmit the credit card information to the third-partyvendor. Because in this example, the transaction amount exceeds athreshold value, the bank may require the user to verify thetransaction.

FIG. 16 shows an example user interface for a client device 1320 forverifying the online payment. In this example embodiment, after thethird-party contacts the bank for processing the payment, the server ofthe bank may transmit a message or communication to the client device ortablet 1320 to verify the transaction. The message or communication mayinclude a challenge and prompt the tablet 1320 to display a prompt 1610asking the user to tap the user's contactless card 1330 on the tablet1320. Subsequently, the user may tap the contactless card 1330 on thetablet 1320, and as described before, the contactless card 1330 maytransmit the encrypted FIDO private key to the tablet 1320. The tablet1320 may generate the diversified key and using the diversified key maydecrypt the encrypted FIDO private key. Once the tablet 1320 is inpossession of the FIDO private key, the tablet 1320 may sign andtransmit the challenge to the server of the bank.

In one example embodiment, the tablet 1320 may include an application inassociation with the bank. The application may display various bankaccount information to the user. For example, the application maydisplay the account balance for each account the user holds with thebank. The application may also receive communications or messages fromthe bank server and display prompts on the tablet to the user. Acommunication may include a challenge and a message to be displayed onthe tablet. Once the application receives the communication from thebank server, the application may display a prompt or window on thescreen of the tablet 1320. The prompt or window may be superimposed onother windows or pages that are being displayed on the tablet 1320.

The present disclosure is not limited to strict compliance with the FIDOframework, and it is understood that this disclosure encompassesvariations on this framework. While in some example embodiments the FIDOpublic-key-private-key pair may be generated on the FIDO authenticator,other combinations are also possible. For example, it is possible forthe server to generate the FIDO public-key-private-key pair, and theserver may transmit the FIDO private key to the authenticator, e.g.,when the user wants to register a client device or open an account. Asanother example, the FIDO public-key-private-key pair may be stored on acontactless card. When needed, the FIDO authenticator may retrieve theFIDO public or the FIDO private key, e.g., the client device maytransmit the FIDO public key to the server to register the clientdevice, and the client device may retrieve the FIDO private key when theserver transmits a challenge to the client device. As another example,upon receipt of the authentication approval from the contactless card,the FIDO authenticator itself may proceed with the signing challengeand/or providing the public keys necessary for the completion of FIDOregistration.

In some examples, a client device may comprise a processor, a memorycontaining a FIDO public key, a FIDO private key, and accountinformation, and a communication interface in data communication with acontactless card and a server, the communication interface having acommunication field. Upon receipt of an instruction to initiate atransaction, the processor may be configured to: transmit a transactionrequest to a first server, the transaction request including accountinformation and transaction information relating to the transaction;receive a challenge from a second server; request a transactionverification from the contactless card; receive, via the communicationinterface, a transaction verification from the contactless card uponentry of the contactless card into the communication field, wherein thetransaction verification permits use of the FIDO private key inconnection with the challenge; sign the challenge using the private key;and transmit the signed challenge to the second server.

In some examples, the processor of the client device may be configuredto generate a FIDO key pair including the FIDO private key and a FIDOpublic key and transmit the FIDO public key to the second server. Theprocessor may be configured to generate the FIDO key pair using a masterkey and a diversified key. The diversified key may be generated usingthe master key and a counter value. Use of the master key may be limitedto a predetermined time period or to a predetermined number of uses. Thecommunication interface may be configured to communicate with thecontactless card via near field communication.

In some examples, the challenge may be a string of random numbers. Thechallenge may be a string of random letters. The second server may beconfigured to create the challenge using the FIDO public key. The secondserver may be configured to confirm the signed challenge using the FIDOpublic key. The second server may transmit the challenge to the clientdevice in response to receiving a request for a payment from the firstserver. In some examples, the first server and the second server may bethe same.

In some examples, the client device may comprise a display and theprocessor is configured to request a transaction verification bypresenting a message asking a user to tap the contactless card on theclient device on the display. The transaction information may include atleast one of an account number, a transaction amount, and a unique cardidentifier.

In some examples, an authorization method may comprise: initiating, by aclient application comprising instructions for execution on a clientdevice, a transaction with a first server; transmitting, by the clientapplication, transaction information to the first server; receiving, bythe client application, a challenge sent by a second server; requesting,by the client application, a transaction verification; receiving, by theclient application, a transaction verification, wherein the transactionverification authorizes the client application to utilize a FIDO privatekey stored in a memory of the client device to sign the challenge;signing, by the client application, the challenge using the FIDO privatekey; transmitting, by the client application, the signed challenge tothe server; and receiving, by the client application, an indication fromthe server that the transaction has been approved.

In some examples, the transaction verification may include the entry ofa contactless card into near field communication with the client device.The contactless card and the client device may each store a master keyand a counter value.

In some examples, the method may comprise: encrypting, by the clientapplication, the FIDO private key using a combination of a diversifiedkey and a counter value stored in the memory of the contactless card;and transmitting, by the client application, the encrypted FIDO privatekey to the second server. The method may comprise: generating, by theclient application, a FIDO public key and a FIDO private key; andtransmitting, by the client application, the FIDO public key to thesecond server.

In some examples, a contactless card may comprise: a substrate,including: a memory containing an applet, a counter value, a master key,a diversified key, a FIDO public key, and a FIDO private key; acommunication interface; and a processor in communication with thememory and communication interface, the processor configured to: updatethe counter value when the communication interface is within a range ofa communication field of a client device; create a cryptogram using thediversified key and the counter value, wherein the cryptogram stores theFIDO public key; and transmit the cryptogram via the communicationinterface.

In some examples, the present disclosure refers to a tap of thecontactless card. However, it is understood that the present disclosureis not limited to a tap, and that the present disclosure includes othergestures (e.g., a wave or other movement of the card).

Throughout the specification and the claims, the following terms take atleast the meanings explicitly associated herein, unless the contextclearly dictates otherwise. The term “or” is intended to mean aninclusive “or.” Further, the terms “a,” “an,” and “the” are intended tomean one or more unless specified otherwise or clear from the context tobe directed to a singular form.

In this description, numerous specific details have been set forth. Itis to be understood, however, that implementations of the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known methods, structures and techniques have not beenshown in detail in order not to obscure an understanding of thisdescription. References to “some examples,” “other examples,” “oneexample,” “an example,” “various examples,” “one embodiment,” “anembodiment,” “some embodiments,” “example embodiment,” “variousembodiments,” “one implementation,” “an implementation,” “exampleimplementation,” “various implementations,” “some implementations,”etc., indicate that the implementation(s) of the disclosed technology sodescribed may include a particular feature, structure, orcharacteristic, but not every implementation necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrases “in one example,” “in one embodiment,” or “in oneimplementation” does not necessarily refer to the same example,embodiment, or implementation, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first,” “second,” “third,” etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

While certain implementations of the disclosed technology have beendescribed in connection with what is presently considered to be the mostpractical and various implementations, it is to be understood that thedisclosed technology is not to be limited to the disclosedimplementations, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the scope ofthe appended claims. Although specific terms are employed herein, theyare used in a generic and descriptive sense only and not for purposes oflimitation.

This written description uses examples to disclose certainimplementations of the disclosed technology, including the best mode,and also to enable any person skilled in the art to practice certainimplementations of the disclosed technology, including making and usingany devices or systems and performing any incorporated methods. Thepatentable scope of certain implementations of the disclosed technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

1-48. (canceled)
 49. A method, comprising: receiving, by a clientapplication comprising instructions for execution on a client device, averification from a contactless card, wherein: the verification permitsthe use of a Fast Identity Online (FIDO) private key, and the clientdevice comprises a processor, a memory, and a communication interface;generating, by the client application using a master key and adiversified key, a FIDO key pair including the FIDO private key and aFIDO public key; and signing, by the client application, a challengeusing the FIDO private key.
 50. The method of claim 49, furthercomprising: receiving, by the client application, a challenge from aserver; and transmitting, by the client application, a verificationrequest to the contactless card.
 51. The method of claim 50, furthercomprising transmitting, by the client application, the signed challengeto the server.
 52. The method of claim 51, further comprisingtransmitting, by the client application, the FIDO public key to theserver.
 53. The method of claim 51, wherein: the memory of the clientdevice stores identification information, and the client application isfurther configured to generate the FIDO key pair using theidentification information with the master key and the diversified key.54. The method of claim 53, wherein the identification informationcomprises a site identifier for a web site.
 55. The non-transitorymemory of claim 54, wherein the server is associated with the website.56. The method of claim 49, further comprising storing, by the clientapplication, the FIDO private key in the memory of the client device.57. A system, comprising: a processor in data communication with amemory, wherein the processor is configured to: receive a verificationpermitting the use of a Fast Identity Online (FIDO) private key;generate, using a master key and a diversified key, a FIDO key pairincluding the FIDO private key and a FIDO public key; and sign achallenge using the FIDO private key.
 58. The system of claim 57,wherein the processor is further configured to: receive a challenge froma server; transmit a verification request to a contactless card; andtransmit the signed challenge to the server.
 59. The system of claim 57,wherein the challenge is created by the FIDO public key.
 60. The systemof claim 57, wherein the processor is further configured to receive averification input prior to signing the challenge using the FIDO privatekey.
 61. The system of claim 57, wherein: the memory stores a counter,and the processor is further configured to generate the diversified keyusing the master key and the counter.
 62. The system of claim 61,wherein the processor is further configured to receive the counter froma server.
 63. The system of claim 57, wherein the challenge comprises astring of random characters.
 64. A non-transitory memory storing aclient application, a master key, and a diversified key, wherein: theclient application comprises instructions for execution on a clientdevice comprising a processor, a memory, and a communication interface,and the client application is configured to: receive a verificationpermitting the use of a Fast Identity Online (FIDO) private key;generate, using a master key and a diversified key, a FIDO key pairincluding the FIDO private key and a FIDO public key; and sign achallenge using the FIDO private key.
 65. The non-transitory memory ofclaim 64, wherein the client application is further configured to:receive a challenge from a server; transmit a verification request to acontactless card; and transmit the signed challenge to the server. 66.The non-transitory memory of claim 65, wherein: the non-transitorymemory stores identification information, and the client application isfurther configured to generate the FIDO key pair using theidentification information with the master key and the diversified key.67. The non-transitory memory of claim 66, wherein: the identificationinformation comprises a site identifier for a website, and the server isassociated with the website.
 68. The non-transitory memory of claim 64,wherein the application is further configured to transmit the FIDOpublic key to a server.